/*给定一个字符串 s ，请你找出其中不含有重复字符的 最长子串 的长度。
*
* 输入: s = "abcabcbb"
* 输出: 3
* 解释: 因为无重复字符的最长子串是 "abc"，所以其长度为 3。
* */

package plan_study.sixth;

import java.util.HashMap;
import java.util.HashSet;

public class leetcode3 {


    public static void main(String[] args) {

        leetcode3 obj = new leetcode3();
        String s = "abcabcbb";
        System.out.println(obj.lengthOfLongestSubstring(s));
    }

    public int lengthOfLongestSubstring(String s){

        if (s.length() == 0){
            return 0;
        }
        int left = 0, max = 1;
        for (int i = 1;i < s.length();i++){

            char c = s.charAt(i);
            int right = s.indexOf(c, left);
            if (right < i){
                max = Math.max(max, i - left);
                left = right + 1;
            }
        }
        return Math.max(max, s.length() - left);
    }
}
